View Issue Details

IDProjectCategoryView StatusLast Update
0001879T99X171.00 SKB EagleSWpublic2024-04-18 08:40
Reporter(ALTech) Sangmin Choi Assigned To(SW) Jerry Lin Due Date2024-04-12 13:00
PriorityurgentSeveritys4-minorReproducibilityN/A
Status closedResolutionfixed 
Summary0001879: Set a property when the STB wakes up from passive standby mode.
DescriptionSet a property when the STB wakes up from passive standby mode.
I will explain by phase to implement this requirement.

https://jira.skbroadband.com/browse/FSTB12-137
TagsNo tags attached.
Attach Tags

Activities

(ALTech) Sangmin Choi

2024-01-24 10:49

developer   ~0015001

Hello, Jason,

Could you please check followings?
And, could you please check there is any problem in phase 1,2 requirements first?

phase 1
* set a property when the STB wakes up from passive standby mode by KEYCODE_POWER
* the property name : sys.stb.passive.on.reason
* Requirements
    1. current status of STB is active standby mode
        KEYCODE_POWER is encountered, STB will wake up.
        Don't need to set sys.stb.passive.on.reason property.
    2. current status of STB is passive standby mode
        KEYCODE_POWER is encountered, STB will wake up from passive.
        sys.stb.passive.on.reason property should be set as "power_key"
    3. current status of STB is AC power off
        if the AC power is connected, STB will wake up.
        Don't need to set sys.stb.passive.on.reason property.
    4. monitor the sys.stb.on property
        if the sys.stb.on property changes to 0, sys.stb.passive.on.reason property should be set as ""(null).

phase 2
* possible to wake up from passive standby mode by NETFLIX_KEY(SA02 RCU) and set a property
* I will explain more when the phase 1 is done

Thank you.
Sangmin Choi.

(ALTech) Sangmin Choi

2024-01-25 16:52

developer   ~0015012

Hello, Jason,

Could you please let me know your opinion about requirements?
And, it looks SKB wants this feature soon, so we should prepare about this.

Thank you.
Sangmin Choi.

(SW) Jason Ling

2024-01-25 17:04

developer   ~0015013

Hi Sangmin,

Which UI branch does SKB want to apply to?
I am working on NTS, Google cert. I can not check it now.

Thanks,
Jason

(ALTech) Sangmin Choi

2024-01-25 17:23

developer   ~0015014

Hello, Jason,

It should be applied to 542 branches.
I will check the schedule with YK.

Thank you.
Sangmin Choi.

(SW) Jason Ling

2024-01-25 18:22

developer   ~0015017

Hi Sangmin,

I have a question, It's common request, I think Intek also receive it, Can't SPTEK Implement by themselves?
I found that SPTEK already implemented the detect function in their code.

They only need to check if the "reason" is keyevent. (Actually, in current situation, only POWERKEY can wake device from passive standby),
then, they can write the reason to property.

Thanks,
Jason
wakeup.png (79,563 bytes)   
wakeup.png (79,563 bytes)   

(ALTech) Sangmin Choi

2024-01-29 13:29

developer   ~0015033

Hello, Jason,

I'm checking it can be implemented by SPTEK or not, but we should implement it by ourselves.
There are many devices the SoC or manufacturer is different, so SPTEK can't deal all cases.
SPTEK and SKB want to set the sys.stb.passive.on.reason by manufacturer.

Please implement followings.

* set a property when the STB wakes up from passive standby mode by KEYCODE_POWER or KEYCODE_SKB_FUNC_57(Netflix button of SA02 RCU)
* the property name : sys.stb.passive.on.reason
* Requirements
    1. current status of STB is active standby mode
        KEYCODE_POWER or KEYCODE_SKB_FUNC_57 is encountered, STB will wake up.
        Don't need to set sys.stb.passive.on.reason property.
    2. current status of STB is passive standby mode
        2.1
            KEYCODE_POWER is encountered, STB will wake up from passive.
            sys.stb.passive.on.reason property should be set as "power_key"
        2.2
            KEYCODE_SKB_FUNC_57 is encountered, STB will wake up from passive.
            sys.stb.passive.on.reason property should be set as "netflix_key"
    3. current status of STB is AC power off
        if the AC power is connected, STB will wake up.
        Don't need to set sys.stb.passive.on.reason property.

About reset the sys.stb.passive.on.reason property, I will check it with SPTEK who can reset this property.

And, the SA02 RCU you received has no Netflix hotkey, so you can't test the function that wake up STB from passive standby using Netflix button.
So, please give me the test firmware then I will test that function.

Finally, I'm sorry but this function should be implemented until tomorrow.

Thank you.
Sangmin Choi.

(SW) Jason Ling

2024-01-29 14:04

developer   ~0015035

Last edited: 2024-01-29 14:04

Hi Sangmin,

>>I'm sorry but this function should be implemented until tomorrow.
We can not guarantee it.

>> KEYCODE_SKB_FUNC_57 is encountered, STB will wake up from passive.
>> sys.stb.passive.on.reason property should be set as "netflix_key"
In passive standby, we need to use RCU's IR to wake up the device,

What is the IR code of KEYCODE_SKB_FUNC_57?
KEYCODE_SKB_FUNC_57 is android key code, but we need to know the IR code of Netflix button.

And how to enter to passive standby? we used hot key to enter passive standby in development stage.
How to enter passive standby by normal method?

Thanks,
Jason

(ALTech) Sangmin Choi

2024-01-29 14:29

developer   ~0015036

Last edited: 2024-01-29 14:29

Hello, Jason,

>>I'm sorry but this function should be implemented until tomorrow.
(FXN) We can not guarantee it.
(ALT) Thank you, I understand.

>> KEYCODE_SKB_FUNC_57 is encountered, STB will wake up from passive.
>> sys.stb.passive.on.reason property should be set as "netflix_key"
(FXN)
In passive standby, we need to use RCU's IR to wake up the device,

What is the IR code of KEYCODE_SKB_FUNC_57?
KEYCODE_SKB_FUNC_57 is android key code, but we need to know the IR code of Netflix button.
(ALT)
The IR code of KEYCODE_SKB_FUNC_57 is 0x6A95, 0x6A59.
But, your SA02 RCU can't encounter this keycode.
You can test using other IR code and if there is no problem then provide me the test firmware the keycode is changed.

(FXN)
And how to enter to passive standby? we used hot key to enter passive standby in development stage.
How to enter passive standby by normal method?
(ALT)
There is no way to enter passive standby by normal method.
You can enter passive standby by hidden menu.
In live channel, press * 5 6 7 8 #.
You can see the attached screen and select number 2, the toast message will be appear.
Press the power button to enter sleep mode, and wait 5 minutes the STB will enter the passive standby.
passive_standby.png (79,723 bytes)   
passive_standby.png (79,723 bytes)   

(ALTech) Sangmin Choi

2024-02-01 13:35

developer   ~0015071

Hello, Jerry,

Could you please let me know current status?

Thank you.
Sangmin Choi.

(SW) Jerry Lin

2024-02-01 15:31

developer   ~0015074

Hi Sangmin ,
I will check the following code , it seems to default netflix key and check the reason value in framework.

jerry@010870-build57-workstation:~/project/Eagle/BFX_AT100_A12/bootloader/uboot-repo/bl33/v2015$ git diff .
diff --git a/arch/arm/cpu/armv8/g12a/firmware/scp_task/scp_remote.c b/arch/arm/cpu/armv8/g12a/firmware/scp_task/scp_remote.c
index ebd3a11eaa..5fd9d8097e 100644
--- a/arch/arm/cpu/armv8/g12a/firmware/scp_task/scp_remote.c
+++ b/arch/arm/cpu/armv8/g12a/firmware/scp_task/scp_remote.c
@@ -28,8 +28,8 @@ typedef struct remote_pwrkeys {
 }remote_pwrkeys_t;

 remote_pwrkeys_t pwr_keys_list;
-unsigned int usr_pwr_key = 0x3ac5bd02; // map 'info' to 'netflix'
-
+//unsigned int usr_pwr_key = 0x3ac5bd02; // map 'info' to 'netflix'
+unsigned int usr_pwr_key = 0x96697f80; // map 'info' to 'netflix' <== this key is OTT key.
 //24M
 static const reg_remote RDECODEMODE_NEC[] = {
        {AO_MF_IR_DEC_LDR_ACTIVE, 500 << 16 | 400 << 0},


02-01 16:15:31.143 3719 9237 I WindowManager: wakeUp passive SendBroadcast Intent (com.skbtv.tv.wakeup) sys.stb.passive.on.reason : power_key
02-01 16:15:31.144 3719 9237 I WindowManager: wakeUp passive SendBroadcast Intent (com.skbtv.tv.wakeup) reason : 6, retryCount : 7 <== check the reason when netflix key press.


Jerry

(ALTech) Younkwang Jung

2024-02-02 11:23

developer   ~0015084

Hi jerry

Until what time can this function be applied?
We need to proceed with netflix test with FW with this function applied

Thank you
YK.Jung

(SW) Jerry Lin

2024-02-02 13:57

developer   ~0015085

Hi YK,
Please help to apply this patch to check to turn on TV via Netflix button.

1. cd bootloader/uboot-repo/bl33/v2015
2. git apply patch_netflix

Jerry
patch_netflix (989 bytes)   
====> project: bootloader/uboot-repo/bl33/v2015
diff --git a/board/amlogic/configs/g12a_u212_v1.h b/board/amlogic/configs/g12a_u212_v1.h
index 08bfeeb8cc..c59b4f1e6d 100644
--- a/board/amlogic/configs/g12a_u212_v1.h
+++ b/board/amlogic/configs/g12a_u212_v1.h
@@ -91,8 +91,11 @@
 #define CONFIG_IR_REMOTE_POWER_UP_KEY_VAL5 0xe51afb04
 #define CONFIG_IR_REMOTE_POWER_UP_KEY_VAL6 0xfe017f80 //mode 1
 #define CONFIG_IR_REMOTE_POWER_UP_KEY_VAL7 0xef01a0f5 //mode 2
-#define CONFIG_IR_REMOTE_POWER_UP_KEY_VAL8 0xFFFFFFFF
-#define CONFIG_IR_REMOTE_POWER_UP_KEY_VAL9 0xFFFFFFFF
+//#define CONFIG_IR_REMOTE_POWER_UP_KEY_VAL8 0xFFFFFFFF
+//#define CONFIG_IR_REMOTE_POWER_UP_KEY_VAL9 0xFFFFFFFF
+//#define CONFIG_IR_REMOTE_POWER_UP_KEY_VAL8 0x96697f80
+#define CONFIG_IR_REMOTE_POWER_UP_KEY_VAL8 0x956a7f80 //mode 1
+#define CONFIG_IR_REMOTE_POWER_UP_KEY_VAL9 0x596aa0f5 //mode 2
 
 /*config the default parameters for adc power key*/
 #define CONFIG_ADC_POWER_KEY_CHAN   2  /*channel range: 0-7*/
patch_netflix (989 bytes)   

(ALTech) Younkwang Jung

2024-02-02 14:31

developer   ~0015086

Hi Jerry Lin

The test result of patch_netflix is ok

Please also set up the property.
> If STB wake up from passive standby with netflix key
    sys.stb.passive.on.reason netflix_key

> If STB wake up from passive standby with power key
    sys.stb.passive.on.reason power_key

> If the STB enters the sleep state
   sys.stb.passive.on.reason (null)

If you have any questions, please contact me.

Thank you
YK.Jung

(ALTech) Younkwang Jung

2024-02-05 11:06

developer   ~0015091

Last edited: 2024-02-05 11:09

View 2 revisions

Hi Jerry

This feature is not yet implemented, causing netflix failure
Please check it quickly and update the progress

Thank you
YK.Jung

(ALTech) Younkwang Jung

2024-02-05 16:06

developer   ~0015093

Hi Jerry

I received feedback from amlogic .
Please review the contents.

=================================================================================================
1. patch_netflix
  - The patch is how to add a new key value to the POWER KEY list.
  - The key value of the Netflix button has been added as one of POWER KEY, so it will wake up to reason 2.
  - Please remove the patch_netflix you made.
 
2. There is a REMOTE_CUS_KEY method to handle Netflix keys separately.
  - (note)If patch_netflix is not removed, the code below will not work.
  - See diff below.

diff --git a/arch/arm/cpu/armv8/g12a/firmware/scp_task/scp_remote.c b/arch/arm/cpu/armv8/g12a/firmware/scp_task/scp_remote.c
index ebd3a11eaa..bac6d512ae 100644
--- a/arch/arm/cpu/armv8/g12a/firmware/scp_task/scp_remote.c
+++ b/arch/arm/cpu/armv8/g12a/firmware/scp_task/scp_remote.c
@@ -28,7 +28,7 @@ typedef struct remote_pwrkeys {
 }remote_pwrkeys_t;
 
 remote_pwrkeys_t pwr_keys_list;
-unsigned int usr_pwr_key = 0x3ac5bd02; // map 'info' to 'netflix'
+unsigned int usr_pwr_key = 0x956a7f80; // map 'info' to 'netflix'
 
 //24M
 static const reg_remote RDECODEMODE_NEC[] = {


3. The kernel must be registered to process Netflix keys.

diff --git a/keyboards/Aml_keypad.kl b/keyboards/Aml_keypad.kl
index 648b4b0..ddf8fdb 100644
--- a/keyboards/Aml_keypad.kl
+++ b/keyboards/Aml_keypad.kl
@@ -572,6 +572,7 @@ key 541 SKB_FUNC_17 # 0x21d
 key 542 SKB_FUNC_17 # 0x21e
 key 543 SKB_FUNC_17 # 0x21f
 
+key 133 F2 WAKE
 # VaS, end add SKB RCU by Logan@20190412
  

4. needs further review: Netflix key values are different in passieve standby mode.

When pressing the Netflix key in deep sleep
/dev/input/event3: 0001 0085 00000001
/dev/input/event3: 0000 0000 00000000
/dev/input/event3: 0001 0085 00000000
/dev/input/event3: 0000 0000 00000000
 
When pressing the Netflix key in normal
/dev/input/event3: 0001 01d2 00000001
/dev/input/event3: 0000 0000 00000000
/dev/input/event3: 0001 01d2 00000000
/dev/input/event3: 0000 0000 00000000
===========================================================================================

please check it

Thank you
YK.Jung

(SW) Jerry Lin

2024-02-06 17:29

developer   ~0015100

Hi YK ,
commit done!

Jerry

(SW) Jerry Lin

2024-02-06 20:06

developer   ~0015101

remote.ko (1,303,984 bytes)

(SW) Jerry Lin

2024-02-07 15:26

developer   ~0015103

remote-2.ko (1,284,144 bytes)

(ALTech) Sangmin Choi

2024-04-08 08:40

developer   ~0015381

Hello, Kinbay,

Now, Eagle can wake up from passive standby mode using power key and netflix key.
SKB wants to add one more key to wake up from passive standby mode.

IR code
    Mode1 : Custom code(0x807F), keycode(0x6B94)
    Mode2 : Custom code(0xF5A0), keycode(0x6B49)

And, if the STB wakes up from passive standby using above key, the sys.stb.passive.on.reason property should be set as "bplay_key".

Please check this comment and please let me know the schedule to implement it.

Thank you.
Sangmin Choi.

(SW) Kerwin Chen

2024-04-08 09:31

developer   ~0015383

Hi Mr. Sangmin Choi,

This issue will be assigned to Jerry since he is more familiar with it.
Thank you!

(ALTech) Sangmin Choi

2024-04-08 09:42

developer   ~0015384

Hello, Kerwin,

Okay I see. Thank you!

(ALTech) Sangmin Choi

2024-04-11 10:13

developer   ~0015408

Hello, Jerry,

Could you please update current status of this issue?

Is it possible to complete until tomorrow?

Thank you.
Sangmin Choi.

(SW) Jerry Lin

2024-04-12 09:29

developer   ~0015420

Hi Sangmin,
Do you know which SKB FUNC KEY for this "bplay_key" ?
I remember the netflix key is KEYCODE_SKB_FUNC_57.
The following is commit log for netflix key.

jerry@010870-build57-workstation:~/project/Eagle/BFX_AT100_A12$ rp show 8baa581fbe27
====> project: frameworks/base
commit 8baa581fbe2767cf826437b68da2672656e5fb19
Author: jerry <liang-chyi.lin@fii-foxconn.com>
Date: Tue Feb 6 17:22:22 2024 +0800

    [BPM-28602] Set a property when the STB wakes up from passive standby mode. [3/5]

diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 962d19338dda..b1fff2f7b7d2 100755
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -3879,8 +3879,17 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                 || event.isWakeKey();

        //VaS, ignore event.isWakeKey() defined in KeyEvent.java
- if("true".equals(SystemProperties.get("sys.passive.standby")))
- isWakeKey = (policyFlags & WindowManagerPolicy.FLAG_WAKE) != 0;
+ if("true".equals(SystemProperties.get("sys.passive.standby"))) {
+ isWakeKey = (policyFlags & WindowManagerPolicy.FLAG_WAKE) != 0;
+ if(isWakeKey) {
+ if("true".equals(SystemProperties.get("sys.stb.passive.enter"))) {
+ if(keyCode == KeyEvent.KEYCODE_POWER)
+ SystemProperties.set("sys.stb.passive.on.reason", "power_key");
+ else if (keyCode == KeyEvent.KEYCODE_SKB_FUNC_57)
+ SystemProperties.set("sys.stb.passive.on.reason", "netflix_key");
+ }
+ }
+ }


Jerry

(ALTech) Sangmin Choi

2024-04-12 10:06

developer   ~0015421

Hello, Jerry,

The Android keyevent of bplay_key is KEYCODE_SKB_FUNC_58.

Thank you.
Sangmin Choi.

(SW) Jerry Lin

2024-04-12 10:21

developer   ~0015424

Hi Sangmin.
Thanks.
Do you know how to verifty this feature ?
I have SA02's RCU. but i can not find the key "OTT Shortcut 2".

Jerry

(ALTech) Sangmin Choi

2024-04-12 10:56

developer   ~0015427

Hello, Jerry,

I think you have old version of SA02 RCU.
Please give me the test firmware, I will test it.
FYI, we're preparing to send final SA02 samples to FII.

Thank you.
Sangmin Choi.

(SW) Jerry Lin

2024-04-12 13:55

developer   ~0015429

Hi Sangmin ,
I upload the SD test FW to ALT Server.
Please download and help to verify it.

link: /release_by_fxn/smart3_test/20240412_mantis1879/usb_bfx-at100_V15.542.35.zip

Jerry

(ALTech) JunGyu Kim

2024-04-15 12:29

developer   ~0015439

Hi Jerry,

After test your FW, it seems bplay_key is working but there are some issue is occurring.

1. When press bplay_key one time in passive standby mode, STB is not wake up but wake up when pressed bplay_key twice in succession.
   -> When press Netflix or power key, this issue is not occur
2. When press bplay_key one time in passive standby mode, LED is changed for a moment to white / red and changed blue.
3. When wake up on passive standby mode, sometimes network error popop is occur.

Please refer attached video.
Thank you.
Kim

(SW) Jerry Lin

2024-04-15 13:51

developer   ~0015441

Hi Kim ,
Do you have some log about issue 1 ?
If yes , please provide to me.

Jerry

(ALTech) JunGyu Kim

2024-04-15 15:32

developer   ~0015446

Hi Jerry,

Please guide me how can I get the log.
As I know that when enter passive standby mode, USB / serial could not connected so I can not get the log.

Thank you.
Kim

(ALTech) JunGyu Kim

2024-04-16 12:33

developer   ~0015459

Hi Jerry,

About issue 1~2, similar issue was reported from INTEK to SPTEK.
SPTEK has fixed this issue to vendor/skb/framework/btf.

====================================================================================
commit ea20f8c39d37bde07def552c46b8f4fc4e1d1a33 (HEAD, skb_bcf/BTF_API_LEVEL_8, m/BFX-AT100_5.4.2)
Author: echwang <echwang@sptek.co.kr>
Date: Tue Apr 16 10:10:57 2024 +0900

    [BTVD-20850] [Stability] [ANR] com.skb.btv.framework.property.IPropertyService$Stub$Proxy.getString ; Monkey test
    ExecutorService 의 instance를 local 변수로 사용하던 부분을 전역변수로 선언하여 한번만 생성하도록 수정
    VERSION_NUM = "_8.1.11";
    BUILD_DATE = "2024.04.16";
    android:versionName="8.1.11"
    JNU: BUILD_DATE = "24.04.16";
====================================================================================

Please apply btf commit and your modification. And please share the test FW.
I will check it again.

Thank you.
Kim

(SW) Jerry Lin

2024-04-16 14:52

developer   ~0015463

Hi Kim,
I upload the SD test FW to ALT Server.
Please download and help to verify it.

link: /release_by_fxn/smart3_test/20240416_mantis1879/usb_bfx-at100_V15.542.35.zip

Jerry

(ALTech) JunGyu Kim

2024-04-16 15:51

developer   ~0015464

Hi Jerry,

I have tested your FW and the issues are still occurring.
I think we have to check the log but I can not get log in passive standby mode.
Could you please help get the log when issue occurring?

Thank you.
Kim

(SW) Jerry Lin

2024-04-16 18:38

developer   ~0015465

Hi Kim,
I have no SA02's RCU for this "bplay_key" key.
I think you can use "logcat -G 32M" to add buffer size of logcat .
And you can use "logcat -v time >/data/log.txt" when leave passive standby mode.

Jerry

(ALTech) JunGyu Kim

2024-04-17 09:15

developer   ~0015468

Hi, Jerry

I have attached log file when press bplay_key from apply your guide.
04-17 10:02:50 -> pressed bplay_key. LED was blink once and remain BLUE
04-17 10:02:55 -> pressed power key
04-17 10:02:58 -> wake up

Please check log file.
Thank you.
Kim
20240417.txt (1,058,552 bytes)

(SW) Jerry Lin

2024-04-17 16:28

developer   ~0015470

Hi Kim,
I add my patch file in this mantis.
I add a new type (REMOTE_CUS_WAKEUP1) for bplay key.
Because the REMOTE_CUS_WAKEUP is used for netflix key.
I check with serial log , i can find the following message:
// The following is for Bplay key , but i use OTT key to test.
bl30 get wakeup sources!
process command 00000006
bl30 enter suspend!
drate =24000000
Little core clk suspend rate 1800000000
store restore gp0 pll
suspend_counter: 7
Enter ddr suspend
ddr suspend time: 50us
alarm=0S
process command 00000001
use vddee new table!
customer pwrkeys for IR is 0x96697f80
use vddee new table!
exit_reason:0x0d <== 0x0d is 13 (REMOTE_CUS_WAKEUP1) , this is my define value for bplay key.
Enter ddr resume
DMC_DRAM_STAT3: 0x544
ddr resume time: 3337us
store restore gp0 pll
cfg15 d3b01000
cfg15 d3b01000
Little core clk resume rate 1800000000

[ 530.560662] meson-remote ff808040.rc: remote suspend
[ 530.861707] meson-remote ff808040.rc: remote resume
[ 530.861715] meson-remote ff808040.rc: default protocol = 0x1 and id = 0
[ 530.861718] meson-remote ff808040.rc: reg=0x0, val=0x1f40190
[ 530.861721] meson-remote ff808040.rc: reg=0x4, val=0x12c00c8
[ 530.861723] meson-remote ff808040.rc: reg=0x8, val=0x960050
[ 530.861726] meson-remote ff808040.rc: reg=0xc, val=0x480028
[ 530.861729] meson-remote ff808040.rc: reg=0x10, val=0x70fa0013
[ 530.861732] meson-remote ff808040.rc: reg=0x18, val=0x8616800
[ 530.861734] meson-remote ff808040.rc: reg=0x1c, val=0x9f00
[ 530.861737] meson-remote ff808040.rc: reg=0x20, val=0x0
[ 530.861740] meson-remote ff808040.rc: reg=0x24, val=0x0
[ 530.861742] meson-remote ff808040.rc: reg=0x28, val=0x0
[ 530.861765] meson-remote ff808040.rc: framecode=0x0
[ 530.861768] meson-remote ff808040.rc: receive repeat
<== No REMOTE_CUS_WAKEUP1 event from get_resume_method() in remote_meson.c.
<== I don't know why the get_resume_method() is not return "REMOTE_CUS_WAKEUP1".
<== I think that the netflix key will return "REMOTE_CUS_WAKEUP"

// The follwing message is for Power key.
bl30 get wakeup sources!
process command 00000006
bl30 enter suspend!
drate =24000000
Little core clk suspend rate 1800000000
store restore gp0 pll
suspend_counter: 8
Enter ddr suspend
ddr suspend time: 49us
alarm=0S
process command 00000001
use vddee new table!
customer pwrkeys for IR is 0xf708fb04
customer pwrkeys for IR is 0xfe017f80
use vddee new table!
exit_reason:0x02 <=== The value 2 (REMOTE_WAKEUP) is POWER key.
Enter ddr resume
ddr resume time: 146us
store restore gp0 pll
cfg15 d3b01000
cfg15 23b01000
Little core clk resume rate 1800000000

[ 532.360511] meson-remote ff808040.rc: remote suspend
[ 532.669556] meson-remote ff808040.rc: remote resume
[ 532.669564] meson-remote ff808040.rc: default protocol = 0x1 and id = 0
[ 532.669567] meson-remote ff808040.rc: reg=0x0, val=0x1f40190
[ 532.669570] meson-remote ff808040.rc: reg=0x4, val=0x12c00c8
[ 532.669573] meson-remote ff808040.rc: reg=0x8, val=0x960050
[ 532.669575] meson-remote ff808040.rc: reg=0xc, val=0x480028
[ 532.669578] meson-remote ff808040.rc: reg=0x10, val=0x70fa0013
[ 532.669581] meson-remote ff808040.rc: reg=0x18, val=0x8616800
[ 532.669584] meson-remote ff808040.rc: reg=0x1c, val=0x9f00
[ 532.669587] meson-remote ff808040.rc: reg=0x20, val=0x0
[ 532.669589] meson-remote ff808040.rc: reg=0x24, val=0x0
[ 532.669592] meson-remote ff808040.rc: reg=0x28, val=0x0
[ 532.669596] meson-remote ff808040.rc: remote resume from REMOTE_WAKEUP <==== get_resume_method() is return REMOTE_WAKEUP and send POWER Key event from ir driver.
[ 532.669693] meson-remote ff808040.rc: framecode=0x0
[ 532.669696] meson-remote ff808040.rc: receive scancode=0x0
[ 532.669702] meson-remote ff808040.rc: invalid custom:0x0
[ 532.669705] meson-remote ff808040.rc: cur_custom is nulll
[ 532.669709] meson-remote ff808040.rc: keypressed=0x0
[ 532.669711] meson-remote ff808040.rc: no valid key to handle


Jerry
diff_1879_20240417 (6,179 bytes)   
====> project: bootloader/uboot-repo/bl33/v2015
diff --git a/arch/arm/cpu/armv8/g12a/firmware/scp_task/scp_remote.c b/arch/arm/cpu/armv8/g12a/firmware/scp_task/scp_remote.c
index dcf5604612..4db1d78122 100644
--- a/arch/arm/cpu/armv8/g12a/firmware/scp_task/scp_remote.c
+++ b/arch/arm/cpu/armv8/g12a/firmware/scp_task/scp_remote.c
@@ -30,6 +30,9 @@ typedef struct remote_pwrkeys {
 remote_pwrkeys_t pwr_keys_list;
 unsigned int usr_pwr_key = 0x956a7f80; // map 'info' to 'netflix' ; mode 1
 unsigned int usr_pwr_key_1 = 0x596aa0f5; // map 'info' to 'netflix' ; mode 2
+//unsigned int usr_pwr_key_2 = 0x96697f80; // map 'info' to 'ott_key' ; mode 1
+unsigned int usr_pwr_key_2 = 0x946b7f80; // map 'info' to 'bplay_key' ; mode 1
+unsigned int usr_pwr_key_3 = 0x496ba0f5; // map 'info' to 'bplay_key' ; mode 2
 //24M
 static const reg_remote RDECODEMODE_NEC[] = {
 	{AO_MF_IR_DEC_LDR_ACTIVE, 500 << 16 | 400 << 0},
@@ -320,6 +323,9 @@ static int remote_detect_key(void)
 		if (((power_key & IR_POWER_KEY_MASK) == usr_pwr_key) ||
 			((power_key & IR_POWER_KEY_MASK) == usr_pwr_key_1))
 			return 2;
+		if (((power_key & IR_POWER_KEY_MASK) == usr_pwr_key_2) ||
+			((power_key & IR_POWER_KEY_MASK) == usr_pwr_key_3))
+			return 3;
 	}
 
 #ifdef CONFIG_COMPAT_IR
diff --git a/arch/arm/cpu/armv8/g12a/firmware/scp_task/suspend.h b/arch/arm/cpu/armv8/g12a/firmware/scp_task/suspend.h
index 7d924322f4..29ab5a1b0d 100644
--- a/arch/arm/cpu/armv8/g12a/firmware/scp_task/suspend.h
+++ b/arch/arm/cpu/armv8/g12a/firmware/scp_task/suspend.h
@@ -25,6 +25,7 @@ typedef unsigned int uint32_t;
 #define ETH_PMT_WAKEUP      10
 #define CECB_WAKEUP		11
 #define ETH_PHY_GPIO    12
+#define	REMOTE_CUS_WAKEUP1		13
 /* wake up source*/
 #define UDEFINED_WAKEUP_SRC	(1<<0)
 #define CHARGING_WAKEUP_SRC (1<<1)
diff --git a/board/amlogic/g12a_u212_v1/firmware/scp_task/pwr_ctrl.c b/board/amlogic/g12a_u212_v1/firmware/scp_task/pwr_ctrl.c
index b45171c407..15d33a92d2 100644
--- a/board/amlogic/g12a_u212_v1/firmware/scp_task/pwr_ctrl.c
+++ b/board/amlogic/g12a_u212_v1/firmware/scp_task/pwr_ctrl.c
@@ -164,6 +164,8 @@ static unsigned int detect_key(unsigned int suspend_from)
 				exit_reason = REMOTE_WAKEUP;
 			if (ret == 2)
 				exit_reason = REMOTE_CUS_WAKEUP;
+			if (ret == 3)
+				exit_reason = REMOTE_CUS_WAKEUP1;
 		}
 
 		if (irq[IRQ_VRTC] == IRQ_VRTC_NUM) {

====> project: common
diff --git a/arch/arm64/configs/meson64_defconfig b/arch/arm64/configs/meson64_defconfig
index cb77e543ee8f..e21a8f3f48f8 100644
--- a/arch/arm64/configs/meson64_defconfig
+++ b/arch/arm64/configs/meson64_defconfig
@@ -656,7 +656,6 @@ CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
 CONFIG_PRINTK_TIME=y
 CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_FS=y
 CONFIG_MAGIC_SYSRQ=y
 CONFIG_LOCKUP_DETECTOR=y
 # CONFIG_DETECT_HUNG_TASK is not set
diff --git a/include/linux/amlogic/pm.h b/include/linux/amlogic/pm.h
index 0d644ac6d5a0..d7873a90365a 100644
--- a/include/linux/amlogic/pm.h
+++ b/include/linux/amlogic/pm.h
@@ -30,6 +30,7 @@
 #define	AUTO_WAKEUP			7
 #define	CEC_WAKEUP			8
 #define	REMOTE_CUS_WAKEUP		9
+#define	REMOTE_CUS_WAKEUP1		13
 #define ETH_PHY_WAKEUP      10
 extern unsigned int get_resume_method(void);
 extern unsigned int is_pm_freeze_mode(void);

====> project: frameworks/base
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index e94f36ca3a5f..abe5b8ccf354 100755
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -3898,6 +3898,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                         SystemProperties.set("sys.stb.passive.on.reason", "power_key");
                     else if (keyCode == KeyEvent.KEYCODE_SKB_FUNC_57)
                         SystemProperties.set("sys.stb.passive.on.reason", "netflix_key");
+                    else if (keyCode == KeyEvent.KEYCODE_SKB_FUNC_58)
+                        SystemProperties.set("sys.stb.passive.on.reason", "bplay_key");
                 }
             }
         }

====> project: frameworks/native
diff --git a/services/inputflinger/reader/mapper/KeyboardInputMapper.cpp b/services/inputflinger/reader/mapper/KeyboardInputMapper.cpp
index fd9d0417af..2ebca43c57 100644
--- a/services/inputflinger/reader/mapper/KeyboardInputMapper.cpp
+++ b/services/inputflinger/reader/mapper/KeyboardInputMapper.cpp
@@ -343,7 +343,7 @@ void KeyboardInputMapper::processKey(nsecs_t when, nsecs_t readTime, bool down,
     // TODO: Use the input device configuration to control this behavior more finely.
     if (down && getDeviceContext().isExternal() && !mParameters.doNotWakeByDefault &&
         !isMediaKey(keyCode)) {
-        if ((keyCode == AKEYCODE_POWER) || (keyCode == AKEYCODE_SKB_FUNC_57)) {    //Power Key or Netflix key
+        if ((keyCode == AKEYCODE_POWER) || (keyCode == AKEYCODE_SKB_FUNC_57) || (keyCode == AKEYCODE_SKB_FUNC_58) ) {    //Power Key or Netflix key or bplay_key
             policyFlags |= POLICY_FLAG_WAKE;
             ALOGI("Wakeup keycode:%d", keyCode);
         }

====> project: vendor/foxconn
diff --git a/prebuilts/module/remote.ko b/prebuilts/module/remote.ko
index 4004c3c..8cd1c35 100644
Binary files a/prebuilts/module/remote.ko and b/prebuilts/module/remote.ko differ

====> project: vendor/foxconn/srcs
diff --git a/drivers/remote/remote_meson.c b/drivers/remote/remote_meson.c
index 6c3ef53..4298379 100644
--- a/drivers/remote/remote_meson.c
+++ b/drivers/remote/remote_meson.c
@@ -733,6 +733,14 @@ static int remote_resume(struct device *dev)
 		input_event(chip->r_dev->input_device, EV_KEY, 466, 0);
 		input_sync(chip->r_dev->input_device);
 	}
+
+	if (get_resume_method() == REMOTE_CUS_WAKEUP1) {
+	        dev_info(dev, "remote resume from REMOTE_CUS_WAKEUP1\n");
+		input_event(chip->r_dev->input_device, EV_KEY, 467, 1);
+		input_sync(chip->r_dev->input_device);
+		input_event(chip->r_dev->input_device, EV_KEY, 467, 0);
+		input_sync(chip->r_dev->input_device);
+	}
 #endif
 
 	//Jim, irq_set_affinity(chip->irqno, cpumask_of(chip->irq_cpumask));
diff_1879_20240417 (6,179 bytes)   

(SW) Jerry Lin

2024-04-17 16:37

developer   ~0015471

Hi Kim ,
Please also check with tag "0015093" in this mantis.
Maybe Amlogic know how to add a new type for new key or they have idea for this new key.

Jerry

(SW) Jerry Lin

2024-04-17 18:25

developer   ~0015472

Hi Kim,
I upload the SD test FW to ALT Server.
Please download and help to verify it.
I use OTT key to turn on SMART3 , it's ok.

link: /release_by_fxn/smart3_test/20240417_mantis1879/usb_bfx-at100_V15.542.35.zip

Jerry

(ALTech) JunGyu Kim

2024-04-17 19:43

developer   ~0015474

Hi Jerry.

It works fine. Please commit your modification.
Note that when you write comment to commit, please use BPM-28825 jira ticket.

Thank you.
Kim

(SW) Jerry Lin

2024-04-17 19:58

developer   ~0015475

Hi Kim,
commit done!

Jerry

(ALTech) JunGyu Kim

2024-04-18 08:40

developer   ~0015479

Hi Jerry,

Thank you for support.
I close this issue.

Kim

Issue History

Date Modified Username Field Change
2024-01-24 10:30 (ALTech) Sangmin Choi New Issue
2024-01-24 10:30 (ALTech) Sangmin Choi Status new => assigned
2024-01-24 10:30 (ALTech) Sangmin Choi Assigned To => (SW) Jason Ling
2024-01-24 10:30 (ALTech) Sangmin Choi Issue Monitored: (ALTech) Wooshin Kang
2024-01-24 10:30 (ALTech) Sangmin Choi Issue Monitored: (ALTech) Younkwang Jung
2024-01-24 10:30 (ALTech) Sangmin Choi Issue Monitored: (ALTech) JunGyu Kim
2024-01-24 10:43 (SW) Jason Ling Issue Monitored: (SW) Jacky Chiang
2024-01-24 10:49 (ALTech) Sangmin Choi Note Added: 0015001
2024-01-24 10:49 (ALTech) Sangmin Choi Description Updated
2024-01-25 16:52 (ALTech) Sangmin Choi Note Added: 0015012
2024-01-25 17:02 (SW) Jason Ling Issue Monitored: (PM) Cato Chang
2024-01-25 17:04 (SW) Jason Ling Note Added: 0015013
2024-01-25 17:23 (ALTech) Sangmin Choi Note Added: 0015014
2024-01-25 18:22 (SW) Jason Ling Note Added: 0015017
2024-01-25 18:22 (SW) Jason Ling File Added: wakeup.png
2024-01-29 10:10 (SW) Jason Ling Assigned To (SW) Jason Ling => (ALTech) Sangmin Choi
2024-01-29 13:29 (ALTech) Sangmin Choi Note Added: 0015033
2024-01-29 13:29 (ALTech) Sangmin Choi Assigned To (ALTech) Sangmin Choi => (SW) Jason Ling
2024-01-29 14:04 (SW) Jason Ling Note Added: 0015035
2024-01-29 14:04 (SW) Jason Ling Note Edited: 0015035
2024-01-29 14:05 (SW) Jason Ling Issue Monitored: (SW) Jerry Lin
2024-01-29 14:29 (ALTech) Sangmin Choi Note Added: 0015036
2024-01-29 14:29 (ALTech) Sangmin Choi File Added: passive_standby.png
2024-01-29 14:29 (ALTech) Sangmin Choi Note Edited: 0015036
2024-01-29 14:39 (SW) Jason Ling Assigned To (SW) Jason Ling => (SW) Jerry Lin
2024-02-01 13:35 (ALTech) Sangmin Choi Note Added: 0015071
2024-02-01 15:31 (SW) Jerry Lin Note Added: 0015074
2024-02-02 11:02 (ALTech) Younkwang Jung Priority normal => high
2024-02-02 11:02 (ALTech) Younkwang Jung Due Date 2024-01-25 13:00 => 2024-02-02 13:00
2024-02-02 11:23 (ALTech) Younkwang Jung Note Added: 0015084
2024-02-02 13:57 (SW) Jerry Lin Note Added: 0015085
2024-02-02 13:57 (SW) Jerry Lin File Added: patch_netflix
2024-02-02 14:31 (ALTech) Younkwang Jung Note Added: 0015086
2024-02-05 11:06 (ALTech) Younkwang Jung Note Added: 0015091
2024-02-05 11:09 (ALTech) Younkwang Jung Note Edited: 0015091 View Revisions
2024-02-05 11:09 (ALTech) Younkwang Jung Priority high => urgent
2024-02-05 16:06 (ALTech) Younkwang Jung Note Added: 0015093
2024-02-06 17:29 (SW) Jerry Lin Note Added: 0015100
2024-02-06 20:06 (SW) Jerry Lin Note Added: 0015101
2024-02-06 20:06 (SW) Jerry Lin File Added: remote.ko
2024-02-07 15:26 (SW) Jerry Lin Note Added: 0015103
2024-02-07 15:26 (SW) Jerry Lin File Added: remote-2.ko
2024-03-05 15:40 (SW) Jason Ling Assigned To (SW) Jerry Lin => (ALTech) Younkwang Jung
2024-04-08 08:40 (ALTech) Sangmin Choi Note Added: 0015381
2024-04-08 08:40 (ALTech) Sangmin Choi Assigned To (ALTech) Younkwang Jung => (SW) Kinbay Wu
2024-04-08 08:40 (ALTech) Sangmin Choi Status assigned => feedback
2024-04-08 08:40 (ALTech) Sangmin Choi Issue Monitored: (SW) Kerwin Chen
2024-04-08 09:31 (SW) Kerwin Chen Note Added: 0015383
2024-04-08 09:31 (SW) Kerwin Chen Assigned To (SW) Kinbay Wu => (SW) Jerry Lin
2024-04-08 09:32 (SW) Kerwin Chen Status feedback => assigned
2024-04-08 09:32 (SW) Kerwin Chen Due Date 2024-02-02 13:00 => 2024-04-12 13:00
2024-04-08 09:42 (ALTech) Sangmin Choi Note Added: 0015384
2024-04-11 10:13 (ALTech) Sangmin Choi Note Added: 0015408
2024-04-12 09:29 (SW) Jerry Lin Note Added: 0015420
2024-04-12 10:06 (ALTech) Sangmin Choi Note Added: 0015421
2024-04-12 10:21 (SW) Jerry Lin Note Added: 0015424
2024-04-12 10:56 (ALTech) Sangmin Choi Note Added: 0015427
2024-04-12 13:55 (SW) Jerry Lin Note Added: 0015429
2024-04-15 12:29 (ALTech) JunGyu Kim Note Added: 0015439
2024-04-15 12:29 (ALTech) JunGyu Kim File Added: 20240415_131729.mp4
2024-04-15 13:51 (SW) Jerry Lin Note Added: 0015441
2024-04-15 15:32 (ALTech) JunGyu Kim Note Added: 0015446
2024-04-16 12:33 (ALTech) JunGyu Kim Note Added: 0015459
2024-04-16 14:52 (SW) Jerry Lin Note Added: 0015463
2024-04-16 15:51 (ALTech) JunGyu Kim Note Added: 0015464
2024-04-16 18:38 (SW) Jerry Lin Note Added: 0015465
2024-04-17 09:15 (ALTech) JunGyu Kim Note Added: 0015468
2024-04-17 09:15 (ALTech) JunGyu Kim File Added: 20240417.txt
2024-04-17 16:28 (SW) Jerry Lin Note Added: 0015470
2024-04-17 16:28 (SW) Jerry Lin File Added: diff_1879_20240417
2024-04-17 16:37 (SW) Jerry Lin Note Added: 0015471
2024-04-17 18:25 (SW) Jerry Lin Note Added: 0015472
2024-04-17 19:43 (ALTech) JunGyu Kim Note Added: 0015474
2024-04-17 19:58 (SW) Jerry Lin Note Added: 0015475
2024-04-18 08:40 (ALTech) JunGyu Kim Status assigned => closed
2024-04-18 08:40 (ALTech) JunGyu Kim Resolution open => fixed
2024-04-18 08:40 (ALTech) JunGyu Kim Note Added: 0015479